昨天已經介紹了要如何啟動 Kubernetes 的 API Proxy、如何使用 Kubernetes 指令註冊 service 的服務用於 DNS 的解析和 Kubernetes 常使用到的指令。今天主要會介紹要如何在 Ohara 裡使用 Kubernetes 的環境, 建立 Zookeeper Cluster、Broker Cluster 和 Worker Cluster 的服務。
在 Ohara 裡使用 Kubernetes 的環境,操作步驟如下:
1.因為要加快 Ohara Cluster 的建立速度,所以需要先到每台 Kubernetes 的 node 上拉取,建立 cluster container 的 docker image,指令如下:
$ docker pull oharastream/zookeeper:0.7.1
$ docker pull oharastream/broker:0.7.1
$ docker pull oharastream/connect-worker:0.7.1
$ docker pull oharastream/streamapp:0.7.1
2.啟動 ohara configurator 服務,指定 --k8s 參數,參數後面指定 Kubernetes 的 API Proxy server 的 URL。啟動 Ohara Configurator 服務的指令如下:
$ docker run --rm \
-p 5000:5000 \
--add-host node1:10.100.0.126 \
--add-host node2:10.100.0.127 \
oharastream/configurator:0.7.1 \
--port 5000 \
--hostname 192.168.56.103 \
--k8s http://10.100.0.126:8080/api/v1
以上的指令主要是透過使用 docker 的方式啟動服務的 container,因為啟動 configurator 服務的 host 是在 192.168.56.103 的 node 上,所以要指定 --hostname 的參數。另外 --add-host 是要讓 configurator 服務 container 裡面的 /etc/hosts 檔案加上 Kubernetes 的 Node name 和 IP 的對應資訊。
在這裡一定要確認 Kubernetes 的 API Proxy server 有順利啟動,不然在執行建立 Cluster 的服務時會有問題,可以參考 Day 13 的部份。
3.啟動 ohara manager 服務,指令如下:
$ docker run --rm -d -p 5050:5050 oharastream/manager:0.7.1 --port 5050 --configurator http://192.168.56.103:5000/v0
啟動 Ohara Manager 的指令和使用 SSH 是一樣的,只要指定 configurator 服務的 Restful API URL 就可以了。
4.使用 Browser 輸入以下的 URL,連到 Ohara 的 WebUI:
這裡有一點要注意,就是 Kubernetes 版本的 name 目前沒有支援輸入 IP 只能輸入 Node Name。如果不知道有哪些 Node name,可以到 Kubernetes 的 master 輸入,以下指令來取得:
$ kubectl get nodes
Node 建立完成的畫面如下:
建立 workspace 過程的畫面如下:
完成建立 Workspace 的詳細資訊如下:
7.當建立完 Workspace 之後就可以使用 Kubernetes 的指令去查看,Kubernetes 的 Pod 是否有被建立起來,如下:
[root@node1 ~]# kubectl get pods
NAME READY STATUS RESTARTS AGE
k8soccl-1k9b0r7951-zk-1947b39 1/1 Running 0 7m18s
k8soccl-cluster00-wk-649d6b0 1/1 Running 0 7m5s
k8soccl-djyuiytqnq-bk-9dfa33d 1/1 Running 0 7m10s
今天已經成功的在 Ohara 裡,使用 Kubernetes 的環境上建立Ohara 的 Zookeepr Cluster、Broker Cluster 和 Worker Cluster 了,並且有確認 Kubernetes 的 Pod 是 Running 的狀態。明天會再繼續介紹 Ohara 使用了 Kubernetes 哪些的 API 。